home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / flilib.zip / FLISRC.ZIP / COPYWORD.ASM < prev    next >
Assembly Source File  |  1989-12-18  |  836b  |  49 lines

  1. ;copyword.asm - contains i86_wcopy()
  2.  
  3. _TEXT    SEGMENT  BYTE PUBLIC 'CODE'
  4. _TEXT    ENDS
  5. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  6. _DATA    ENDS
  7. CONST    SEGMENT  WORD PUBLIC 'CONST'
  8. CONST    ENDS
  9. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  10. _BSS    ENDS
  11. DGROUP    GROUP    CONST,    _BSS,    _DATA
  12.     ASSUME  CS: _TEXT, DS: DGROUP, SS: DGROUP, ES: DGROUP
  13. _TEXT      SEGMENT
  14.  
  15. ;i86_wcopy(source, dest, count)
  16. ;copy count 16-bit words from source to dest.  Count must not be zero.
  17.     PUBLIC    _i86_wcopy
  18. _i86_wcopy    PROC far
  19.     push    bp
  20.     mov    bp,sp
  21.     push es
  22.     push di
  23.     push ds
  24.     push si
  25.     push cx
  26.  
  27.     mov    ax,[bp+6+2]    ;s seg
  28.     mov ds,ax
  29.     mov    si,[bp+4+2]    ;s offset
  30.     mov ax,[bp+10+2]  ;d seg
  31.     mov es,ax
  32.     mov di,[bp+8+2]  ;d offset
  33.     mov cx,[bp+12+2]  ;count
  34.  
  35.     cld
  36.     rep movsw
  37.  
  38.     pop cx
  39.     pop si
  40.     pop ds
  41.     pop di
  42.     pop es
  43.     pop    bp
  44.     ret    
  45. _i86_wcopy    ENDP
  46.  
  47. _TEXT    ENDS
  48. END
  49.